package collection;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
/**
 * Lambda表达式的演示
 */
public class LambdaDemo {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();

        //匿名内部类写法:
        Collections.sort(list, new Comparator<String>() {
            public int compare(String o1, String o2) {
                return o1.length()-o2.length();
            }
        });

        //lambda表达式写法:
        Collections.sort(list, (String o1, String o2)->{
                return o1.length()-o2.length();
            }
        );

        //lambda表达式中的参数类型可以不写
        Collections.sort(list, (o1,o2)->{
                    return o1.length()-o2.length();
                }
        );

        //lambda表达式方法体中只有一句代码时，方法体的{}可以不写，如果这句话有return，也一并不写
        Collections.sort(list, (o1,o2)-> o1.length()-o2.length());

        //lambda表达式的方法参数只有1个时，()可以忽略不写-----本案例不适合
    }
}












